package com.jinzhi.jzweb.service.resourceLibrary;

import com.baomidou.mybatisplus.plugins.Page;
import com.baomidou.mybatisplus.service.IService;
import com.jinzhi.common.utils.Result;
import com.jinzhi.jzweb.domain.StudentClassesDO;
import com.jinzhi.jzweb.domain.vo.resourceLibrary.eventresourceVO.*;

import java.util.List;

/**
 * 后台班级管理模块接口
 */
public interface EventResourceClassService extends IService<StudentClassesDO> {

    /** 获取班级列表 */
    PageResult list(String classname, String name, String mobile, Integer pageNum, Integer pageSize);

    /** 获取全部班级列表 */
    List<String> classList();

    /** 批量保存班级和学生信息 */
    Result batchSaveClass(String classname, String creatername, List<StudentVO> studentVOList);

    /** 获取班级详情 */
    PageResult getClassDetails(Long classId, Integer pageNum, Integer pageSize);

    /** 学生退出班级 */
    boolean quitStu(Long userId, Long classId);

    /** 更新班级信息 */
    boolean updateClass(Long classId, String className, Long userId);

    /** 更新学生信息 */
    boolean updateStu(String name, String mobile, Long sex, Long id, String password);

    /** 逻辑删除班级 */
    boolean deleteClass(Long classId);

    /** 班级是否存在 */
    boolean isExistClass(String classname, Long userId);

    ClassesVO getClassById(Long id);

    StudentDetailVO getClassDetailById(Long id);
}
